package com.zyy.seckill.utils;

import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.stereotype.Component;

/**
 * @Author: zyy
 * @DateTime: 2021/9/26 21:06
 */
@Component
public class MD5Util {

    //设置md5工具类
    public static String md5(String src){
        return DigestUtils.md5Hex(src);
    }
    // 设置盐,加密
    public static final String SALT ="1a2b3c4d";

    // MD5第一次加密 -->从前端到后端的加密
    public static String inputPassToFormPass(String inputPass,String salt){
        // 截取 SLAT文件
        String str = ""+SALT.charAt(0)+SALT.charAt(2)+inputPass+SALT.charAt(5)+SALT.charAt(4);

        return md5(str);
    }

    // 第二次加密 -->从后端到数据库之间的加密
    public static String formPassToDBPass(String formPass,String salt){
        String str = ""+SALT.charAt(0)+SALT.charAt(2)+formPass+SALT.charAt(5)+SALT.charAt(4);

        return md5(str);
    }

     // 工具类的调用
    public static String inputPassToDBPass(String inputPass,String salt){
        String formPass =inputPassToFormPass(inputPass,SALT);
//        System.out.println(formPass);   第一次加密
        String dbPass = formPassToDBPass(formPass,SALT);

        return dbPass;
    }

    public static void main(String[] args) {
        System.out.println(inputPassToFormPass("123456",SALT)); // 第一次加密
        System.out.println(formPassToDBPass("d3b1294a61a07da9b49b6e22b2cbd7f9",SALT)); // 第二次加密

        System.out.println(inputPassToDBPass("123456",SALT));
    }

//d3b1294a61a07da9b49b6e22b2cbd7f9
}
